#ifndef CHASSIS_H
#define CHASSIS_H

#include <string>  
#include <iostream>
#include <fstream>
using namespace std;
  

// 定义底盘结构体  
class Chassis {
private:
    std::string id; // 编号
    std::string model; // 型号
    int wheelbase; // 轴距
    int tread; // 轮距
    int groundClearance; // 最小离地间隙
    float minTurningRadius; // 最小转弯半径
    std::string driveType; // 驱动形式
    float maxRange; // 最大行程
    std::string tireType; // 轮胎类型
    int tireSize; // 轮胎尺寸

public:
    // 构造函数
    Chassis(const std::string &id, const std::string &model,
                     int wheelbase, int tread, int groundClearance,
                     float minTurningRadius, const std::string &driveType,
                     float maxRange, const std::string &tireType, int tireSize);
    Chassis(std::string id);
        // 将属性写入文件的方法
    void writeToFile(std::ofstream &file);

    // 打印属性的方法
    std::string getId() const;
    void print() const;
    void setId(const std::string &newId);
    void setModel(const std::string &newModel);
    void setWheelbase(int newWheelbase);
    void setTread(int newTread);
    void setGroundClearance(int newGroundClearance);
    void setMinTurningRadius(float newMinTurningRadius);
    void setDriveType(const std::string &newDriveType);
    void setMaxRange(float newMaxRange);
    void setTireType(const std::string &newTireType);
    void setTireSize(int newSize);
};

#endif